
public class Kantine {
	private Kassa kassa;
	private KassaRij kassarij;
	private Persoon persoon;
	private KantineAanbod kantineAanbod;

	
	/**
	 * Constructor van de klasse Kantine.
	 */
	public Kantine() {
		kassarij = new KassaRij();
		kassa = new Kassa( kassarij );
	}
	
	/**
	 * Laat de opgegeven persoon de opgegeven artikelen toevoegen aan zijn/haar dienblad
	 * Sluit aan in de rij voor de kassa.
	 * @param persoon
	 * @param artikelnamen
	 */
	public void loopPakSluitAan( Persoon persoon, String[] artikelNamen ) {
		// Draait de loop totdat alle producten aan de beurt zijn geweest.
		for( int i = 0; i<artikelNamen.length; i++ ){ 
			// Maakt een artikel van de opgegeven artikelnaam.
			Artikel art = kantineAanbod.getArtikel( artikelNamen[i] ); 
			// Voegt het artikel toe aan het dienblad van Persoon.
			persoon.pakArtikel( art );  
		}
		// Sluit achteraan in de kassarij.
		kassarij.sluitAchteraan( persoon ); 
		
	}
	
	/**
	 * Handelt de rij voor de kassa af.
	 */
	public void verwerkRijVoorKassa() {
		while(kassarij.erIseenRij() ){
			kassa.rekenAf( kassarij.eerstePersoonInRij() );
		}
	}
	
	public void setKantineAanbod( KantineAanbod aanbod) {
		this.kantineAanbod = aanbod;
	}
	
	/**
	 * Hoeveel geld zit er in de kassa.
	 * @return hoeveelheid geld in de kassa
	 */
	public double hoeveelheidGeldInKassa() {
		return kassa.hoeveelheidGeldInKassa();
	}
	
	/**
	 * Aantal artikelen dat de kassa heeft gepasseerd.
	 * @return aantal gepasseerde artikelen
	 */
	public int aantalArtikelen(){
		return kassa.aantalArtikelen();
	}
	
	/**
	 * Reset de waarden van de kassa.
	 */
	public void resetKassa() {
		kassa.resetKassa();
	}
	
	/**
	 * 
	 * @return kassa
	 */
	public Kassa getKassa() {
		return kassa;
	}
	
}
